﻿using Library.Collections.Generic;
using Library.Distributed;

namespace Library.Collections.Distributed
{
    public interface IDistributedGraphReadOnly<out TNode, out TEdge> : IDistributed<IGraphReadOnly<TNode, TEdge>>, IGraphReadOnly<TNode, TEdge>, IDistributedEnumerable<TEdge> { }

    public interface IDistributedGraph<out TNode, out TEdge> : IDistributed<IGraph<TNode, TEdge>>, IGraph<TNode, TEdge>, IDistributedEnumerable<TEdge> { }

    public interface IDistributedGraphRootReadOnly<out TNode, out TEdge> : IDistributed<IGraphRootReadOnly<TNode, TEdge>>, IGraphRootReadOnly<TNode, TEdge>, IDistributedEnumerable<TEdge> { }

    public interface IDistributedGraphRoot<out TNode, out TEdge> : IDistributed<IGraphRoot<TNode, TEdge>>, IGraphRoot<TNode, TEdge>, IDistributedEnumerable<TEdge> { }
}